package com.cskaoyan._04memory;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/3 11:33
 **/
/*
> 1. 三个对象的内存图，其中有两个引用指向同一个对象。
(创建3个Teacher对象,并进行显式赋值)


小结赋值的顺序:
1.第一步是默认初始化,赋予默认值
2.第二步是显示赋值,声明定义成员变量的时候直接=赋值
3.最后是通过对象名.成员变量名修改的,在原有的基础上进行覆盖
 */
public class Demo2 {
    public static void main(String[] args) {
        // 创建Teacher对象
        Teacher t1 = new Teacher();
        System.out.println(t1.name);// null
        System.out.println(t1.salary);// 10000
        t1.name = "张三";
        t1.salary = 15000;
        System.out.println(t1.name);// 张三
        // 15000,在之前的10000的基础上进行覆盖的
        System.out.println(t1.salary);
        Teacher t2 = t1;

        Teacher t3 = new Teacher();
    }
}
class Teacher{
    // 在定义声明成员变量的时候,直接用=赋值,这种方式--->显式赋值
    String name;
    int salary = 10000;

    public void teach() {
        System.out.println(name + "上课");
    }
}